package shouji;
/*
2.1 第一步：设计和实现以下类

    （1）手机卡类 特征：卡类型、卡号、用户名、密码、账户余额、通话时长(分钟)、上网流量 行为：显示（卡号 + 用户名 + 当前余额）

    （2）通话套餐类 特征：通话时长、短信条数、每月资费 行为: 显示所有套餐信息     （3）上网套餐类 特征：上网流量、每月资费 行为：显示所有套餐信息

    （4）用户消费信息类 特征：统计通话时长、统计上网流量、每月消费金额

    （1）通话服务接口 抽象方法: 参数 1: 通话分钟, 参数 2: 手机卡类对象 让通话套餐类实现通话服务接口。
 */
public class CallPackage extends PackageService implements CallService {
    //通话时长
    private int talkTime;
    //短信条数
    private int numberOfSMS;

    CallPackage(int talkTime,int numberOfSMS,double monthlyRate){
        //调用父类中的有参构造方法
        super(monthlyRate);
        this.talkTime = talkTime;
        this.numberOfSMS = numberOfSMS;
    }

    //显示所有套餐信息
    @Override
    public void show() {
        int tk = this.talkTime;
        int nos = this.numberOfSMS;
        double mr = this.getMonthlyRate();
        System.out.println("通话时长："+tk+",短信数量："+nos+",每月资费："+mr);
    }

    public int getTalkTime() { return talkTime; }

    public void setTalkTime(int talkTime) {
        this.talkTime = talkTime;
    }

    public int getNumberOfSMS() {
        return numberOfSMS;
    }

    public void setNumberOfSMS(int numberOfSMS) {
        this.numberOfSMS = numberOfSMS;
    }

    @Override
    public void callService(int talkTime, Enum<CardType> CardType) {
        System.out.println(CardType.name());
    }
}
